package com.sinoeyes.agreement.po;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sinoeyes.common.annotation.Excel;
import com.sinoeyes.common.core.po.BaseBusinessPo;
import com.sinoeyes.common.core.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 协议信息对象 agreement
 *
 * @author aries
 * @date 2019-09-10
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AgreementPo extends BasePo {
    private static final long serialVersionUID = 1L;

    private AttachmentInfoPo attachmentInfo;
    private AgreementfinedetailPo agreementfinedetail;

    /**
     * null
     */
    private String id;

    /**
     * null
     */
    @Excel(name = "协议编号")
    private String no;

    /**
     * null
     */
    private String agreementNo;

    /**
     * null
     */
    @Excel(name = "协议类型")
    private String typeCode;

    /**
     * 来源渠道平台ID
     */
    private String platformId;

    /**
     * 客户ID
     */
    private String businessId;

    /**
     * 代理人ID
     */
    private String agentId;

    /**
     * 总代理ID
     */
    private String generalAgentId;

    /**
     * 总代价格
     */
    private Double amtGeneralAgent;

    /**
     * 省份ID
     */
    private String provinceId;

    @Excel(name = "省份")
    private String provinceName;

    /**
     * 客户ID
     */
    private String customerId;

    /**
     * 生效时间
     */
    @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginDate;

    /**
     * 过期时间
     */
    @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 原因
     */
    private String reasonCode;

    /**
     * 协议状态
     */
    private String statusCode;

    /**
     * 管理者ID
     */
    private String managerId;

    /**
     * 操作人
     */
    private String operatorId;

    private String operator;

    private Double bondAmountPlan;

    private Double bondAmountFix;

    /**
     * null
     */
    private String salesDepartmentCode;

    /**
     * 流向
     */
    private String workflowId;

    /**
     * 申请人
     */
    private String rejectId;

    /**
     * 申请原因
     */
    private String rejectReason;

    /**
     * 乙方编码
     */
    private String partybCode;

    /**
     * 乙方名称
     */
    private String partybName;

    /**
     * 协议状态
     */
    private String agreementStatus;

    /**
     * null
     */
    private String originalId;

    /**
     * 主渠道
     */
    private String keyCode;

    /**
     * 版本
     */
    @Excel(name = "版本")
    private Long version;

    /**
     * 销售部门
     */
    private String salesDepartment;

    /**
     * null
     */
    private String type;

    /**
     * null
     */
    private Long stall;

    /**
     * null
     */
    private String serviceId;

    /**
     * null
     */
    private String benchmarkNo;

    /**
     * null
     */
    private String salesDepartmentName;

    /**
     * null
     */
    private String bondStatusCode;

    /**
     * null
     */
    private String bondStatus;

    /**
     * null
     */
    private String uploadStatus;

    /**
     * null
     */
    private String actionStatus;

    /**
     * null
     */
    private String attachmentStatus;

    private String attachmentId;

    /**
     * null
     */
    private String bondRemark;

    /**
     * null
     */
    private Date companyCreateTime;

    /**
     * null
     */
    @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDatePrimeval;

    /**
     * null
     */
    @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDateDecompose;

    /**
     * 是否重新签订
     */
    @Excel(name = "是否重新签订")
    private String isResign;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
